package com.xq.service;

import com.xq.dto.UmsOrganizations.*;
import com.xq.entity.UmsOrganizations;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author wuven
 * @since 2025-05-26
 */
public interface IUmsOrganizationsService extends IService<UmsOrganizations> {

    /**
     * 创建组织【小组或者公司】
     * @param createdDTO
     * @return
     */
    void addOrganizations(UmsOrganizationsCreatedDTO createdDTO);

    /**
     * 删除组织
     * @param organizationId
     * @return
     */
    void deleteOrganizations(String organizationId);

    /**
     * 修改组织
     * @param updateDTO
     * @return
     */
    void updateOrganizations(UmsOrganizationsUpdateDTO updateDTO);

    /**
     * 给员工分组
     * @param addDTO
     * @return
     */
    void addUserInOrganization(UmsOrganizationUserAddDTO addDTO);

    /**
     * 将员工从组织中删除
     * @param deleteDTO
     * @return
     */
    void deleteUserInOrganization(UmsOrganizationUserDeleteDTO deleteDTO);

    /**
     * 根据根组织来查询其下面所有的组织
     * 需要联表查询
     */
    UmsOrganizationFindAllDTO getAllOrganization(String rootId);



}
